//
//  PYScreenRotateManager.h
//  IHome
//
//   Created by zhujizheng on 2020/2/18.
//  Copyright © 2019年 com.zhujizheng. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface PYScreenRotateConfig : NSObject
/**
 iPhone是否支持屏幕旋转
 */
@property (nonatomic, assign) BOOL shouldIPhoneAutorotate;
/**
 iPad是否支持屏幕旋转
 */
@property (nonatomic, assign) BOOL shouldIPadAutorotate;
/**
 iPhone支持的屏幕旋转方向
 */
@property (nonatomic, assign) UIInterfaceOrientationMask iPhoneSupportedInterfaceOrientations;
/**
 iPad支持的屏幕旋转方向
 */
@property (nonatomic, assign) UIInterfaceOrientationMask iPadSupportedInterfaceOrientations;
/**
 iPhone状态栏支持的方向，⚠️状态栏的方向必须跟屏幕方向对应
 */
@property (nonatomic, assign) UIInterfaceOrientation iPhoneStatusBarOrientation;
/**
 iPad状态栏支持的方向，⚠️状态栏的方向必须跟屏幕方向对应
 */
@property (nonatomic, assign) UIInterfaceOrientation iPadStatusBarOrientation;

@end

@interface PYScreenRotateManager : NSObject
/**
 是否支持屏幕旋转

 @return YES 支持， NO 不支持
 */
+ (BOOL)shouldAutorotate;
/**
 支持旋转到哪个方向

 @return 界面方向
 */
+ (UIInterfaceOrientationMask)supportedInterfaceOrientations;
/**
 状态栏支持的方向要单独设置

 @return 状态栏方向
 */
+ (UIInterfaceOrientation)statusBarOrientation;
/**
 设置屏幕支持的旋转方向

 @param screenRotateConfig 屏幕旋转方向配置
 */
+ (void)makeConfigWithConfig:(PYScreenRotateConfig *)screenRotateConfig;
/**
 恢复到支持的默认旋转方向配置
 */
+ (void)makeDefaultConfig;

@end

NS_ASSUME_NONNULL_END
